package com.itxiuyixiu.entity.model;

import com.itxiuyixiu.entity.enums.ActivityState;
import com.itxiuyixiu.entity.enums.ActivityType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotEmpty;
import java.time.LocalDateTime;



@Data
@NoArgsConstructor
@AllArgsConstructor
public class Activity {
    /**
     * 活动编号
     */
    @NotEmpty(message = "活动编号不能为空")
    private Integer activityId;
    /**
     * 活动名称
     */
    private String activityName;
    /**
     * 组织介绍
     */
    private String activityDetail;
    /**
     * 活动开始时间
     */
    private LocalDateTime startTime;
    /**
     * 活动结束时间
     */
    private LocalDateTime endTime;
    /**
     * 活动人数上限
     */
    private Integer maxNumber;
    /**
     * 当前活动参加人数
     */
    private Integer nowNumber;
    /**
     * 活动注意事项
     */
    private String attention;
    /**
     * 活动类型
     */
    private ActivityType activityType;
    /**
     * 活动地点
     */
    private String activityAddress;
    /**
     * 活动不允许退出时间
     */
    private LocalDateTime outTime;
    /**
     * 工时
     */
    private Float serveHours;
    /**
     * 活动状态（审核、审核通过等）
     */
    private ActivityState activityState;
    /**
     * 是否学院限制
     */
    private Boolean academyLimited;
    /**
     * 限制允许的学院
     */
    private String academyLimitedList;
    /**
     * 活动照片
     *
     * <p>假如有多个活动照片，使用英文逗号分割</p>
     */
    private String activityImages;
    /**
     * 组织id---外键
     */
    private Integer organizationId;
    /**
     * 项目id---外键
     */
    private Integer projectId;
    /**
     * 外键---管理员id
     */
    private Integer adminId;
    /**
     * 创建时间
     */
    private LocalDateTime gmtCreated;
    /**
     * 修改时间
     */
    private LocalDateTime gmtModified;

    private Organization organization;

    private Project project;
}
